package com.sfzlot.dev.netty.bean.data.powerswitch;

import java.util.Date;

import com.sfzlot.dev.netty.bean.inf.Data;
import com.sfzlot.dev.netty.utils.ByteUtil;

/**
 * 设备状态信息请求体
 * v1版本：没有通讯类型
 * v2版本：加了通讯类型1-wifi,2-nb,3-4G
 * v3版本：v1的固化版本，序列号会一直为1，状态一直会是1
 * Created by pierr on 2017/5/30.
 */
public class PowerSwitchStatusInData implements Data {
    
    private Date dataCollectTime;	// 数据采集时间
    private int status;				// 设备状态0x01：空闲中；0x02：使用中；“0xFE” 表示异常，“0xFF”表示无效。
    private int transType;			// 设备通讯类型，1-wifi,2-nb,3-4G

    public Date getDataCollectTime() {
        return dataCollectTime;
    }

    public void setDataCollectTime(Date dataCollectTime) {
        this.dataCollectTime = dataCollectTime;
    }

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public int getTransType() {
		return transType;
	}

	public void setTransType(int transType) {
		this.transType = transType;
	}

	@Override
	public String toString() {
		return "DeviceStatusInData [dataCollectTime=" + dataCollectTime + ", status=" + status + ", transType=" + transType + "]";
	}

	@Override
	public byte[] toBytes(){
		byte[] dateBytes = ByteUtil.timeToBytes(dataCollectTime);
		byte[] statusBytes = new byte[1];
		statusBytes[0] = Integer.valueOf(status).byteValue();
		return ByteUtil.addAll(dateBytes, statusBytes);
	}

	@Override
	public String transData() {
		return "DeviceStatusInData(设备状态请求体) [dataCollectTime=" + dataCollectTime + ", 设备状态=" + status + ", 通讯类型=" + transType + "]";
	}
}
